# class A1:
#     def say_a1(self):
#         print("a1")
# class B1(A1):
#     pass
# b1=B1()
# b1.say_a1()
#
# class A2:
#     def say_a2(self):
#         print("a2")
# class B2:
#     def __init__(self,a):
#         self.a=a
# b2=B2(A2())
# b2.a.say_a2()
#-----------------------------------------------------------
#设计模式_工厂模式实现
#测试工厂模式
# 测试工厂模式class CarFactory:
#     def create_car(self,brand):
#         if brand=="奔驰":
#             return Benz()
#         elif brand=="宝马":
#             return BMW()
#         elif brand=="比亚迪":
#             return BYD()
#         else:
#             return "未知品牌，无法创建"
# class Benz:
#     pass
# class BMW:
#     pass
# class BYD:
#     pass
# factory=CarFactory()
# c1=factory.create_car("奔驰")
# c2=factory.create_car("比亚迪")
# print(c1)
# print(c2)

#------------------------------
#设计模式——单例
#模块  只要以.py为后缀的文件，都是模块
'''
1.变量  PI=3.14
2.函数
3.面向对象（类>对象）
4.可执行代码
使用模块的好处：
管理方便，易维护
降低复杂度
'''
PI=3.14
def get_area(r):
    return PI*r*r
class Student():
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def show_info(self):
        """展示学生信息"""
        print("name:%s age:%d"%(self.name,self.age))

print(PI)
print("半径为2的圆的面积为：%g"%get_area(2))
stu=Student("学生1",18)
stu.show_info()
